RF receivers often use correlators to correlate a code in a received signal with a reference code. Once the received code is correlated with the reference code, other information in the received signal can be extracted. The other information may be used in applications associated with equipment containing the RF receiver. Certain applications rely on the arrival time of the received signal at the RF receiver. Such applications include a Global Positioning System (GPS) receiver, a navigation system receiver, or the like. Such systems determine distances to the RF receiver from a transmitter based on the precise arrival time of the received signal at the RF receiver. Specifically, during correlation, the arrival time of a synchronization point in the received signal is identified. The applications use the arrival time to determine distances and other arrival time dependent elements.
The accuracy of the identification of the arrival time of the synchronization point is based on the time precision of the correlation. Generally, a received signal is sampled using a sampling clock to create a sampled signal. The sampling rate is normally higher than the data bit rate in the sampled signal. The correlator works by comparing different groups of sampled bits with the reference code. The sampled signal is correlated when a group of sampled bits matches the reference code. Each group of sampled bits differs from the other groups by at least one sampled bit, therefore, the maximum time precision of the correlation is plus or minus one sample time. Typically, the sampling clock is asynchronous with the data bits in the received signal; therefore, the arrival time of the synchronization point as determined from the sampled signal may differ from the actual arrival time of the synchronization point in the received signal by plus or minus one sample time, which may result in an arrival time error. Applications requiring arrival time accuracy must tolerate an error of plus or minus one sample time. Increasing the sampling rate can reduce the arrival time error; however, an increased sampling rate may increase circuit complexity, cost, and power consumption. Additionally, some applications include RF signals having a plurality of synchronization points, and if transitions in the received signal are close to transitions of the sampling clock, then timing oscillations or discontinuities between samples associated with the synchronization points can occur. Such oscillations or discontinuities may be problematic for some applications. Some correlators address this problem by introducing a deliberate frequency offset between the sampling clock and the data rate of the received signal such that transitions in the received signal are always moving relative to transitions of the sampling clock. However, such correlators must correlate and extract data in the presence of the frequency offset, which may increase complexity, cost, and increase power consumption. Other correlators may correlate using two different reference code timings, which requires some knowledge of the timing of a synchronization point. The circuitry necessary to process all of the signals may increase complexity, power consumption, and reduce effective signal levels. Thus, there is a need for a correlation process that provides correlations having arrival time errors less than the sampling time; minimizes the effects of oscillations associated with sampling; is relatively simple and cost effective to implement; and is low powered.